﻿Public Class TaiKhoanNganHangForm
    Dim dt As DataTable
    Dim dt_nganhang As DataTable
    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
        DialogResult = Windows.Forms.DialogResult.OK
        Me.Hide()
    End Sub

    Private Sub TaiKhoanNganHangForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        dt_nganhang = NganHangDAO.GetAll()
        cbMaNganHang.DataSource = dt_nganhang
        cbMaNganHang.DisplayMember = "Ten"
        cbMaNganHang.ValueMember = "MaNganHang"

        dt = TaiKhoanNganHangDAO.GetAll(MainForm.current_user.MaUser)
        dgNganHang.DataSource = dt
        dgNganHang.Columns(2).HeaderText = "Số Tiền"
        dgNganHang.Columns(2).DefaultCellStyle.Format = "N"
        dgNganHang.Columns(5).HeaderText = "Tên Ngân Hàng"
        dgNganHang.Columns(0).Visible = False
        dgNganHang.Columns(1).Visible = False
        dgNganHang.Columns(3).Visible = False
        dgNganHang.Columns(4).Visible = False
    End Sub

    Private Sub dgNganHang_CellClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgNganHang.CellClick
        txtSoTien.Text = dt.Rows(dgNganHang.CurrentRow.Index).Item("SoTien").ToString()
        cbMaNganHang.SelectedValue = dt.Rows(dgNganHang.CurrentRow.Index).Item("MaNganHang").ToString()
    End Sub

    Private Sub btThem_Click(sender As System.Object, e As System.EventArgs) Handles btThem.Click
        If txtSoTien.Text.Trim().Length = 0 Or Not IsNumeric(txtSoTien.Text) Then
            MessageBox.Show("Xin vui lòng nhập vào số tiền")
            Return
        End If
        If cbMaNganHang.SelectedIndex < 0 Then
            MessageBox.Show("Xin vui lòng chọn ngân hàng")
            Return
        End If
        If TaiKhoanNganHangBUS.IsExists(MainForm.current_user.MaUser, cbMaNganHang.SelectedValue) > 0 Then
            MessageBox.Show("Tài khoản đã tồn tại. Mỗi người chỉ được có 1 tài khoản ở 1 ngân hàng")
            Return
        End If
        Dim dr As DataRow = dt.NewRow()
        dr("MaUser") = MainForm.current_user.MaUser
        dr("MaNganHang") = cbMaNganHang.SelectedValue
        dr("SoTien") = Double.Parse(txtSoTien.Text)
        dr("Ten") = dt_nganhang.Rows(cbMaNganHang.SelectedIndex)("Ten").ToString()
        dt.Rows.Add(dr)
        DB_Provider.Write(dt, "TaiKhoanNganHang")
    End Sub

    Private Sub btXoa_Click(sender As System.Object, e As System.EventArgs) Handles btXoa.Click
        If Not IsNothing(dgNganHang.CurrentRow) And dgNganHang.CurrentRow.Index >= 0 Then
            dt.Rows(dgNganHang.CurrentRow.Index).Delete()
            DB_Provider.Write(dt, "TaiKhoanNganHang")
        End If
    End Sub

    Private Sub btSua_Click(sender As System.Object, e As System.EventArgs) Handles btSua.Click
        If txtSoTien.Text.Trim().Length = 0 Or Not IsNumeric(txtSoTien.Text) Then
            MessageBox.Show("Xin vui lòng nhập vào số tiền")
            Return
        End If
        If cbMaNganHang.SelectedIndex < 0 Then
            MessageBox.Show("Xin vui lòng chọn ngân hàng")
            Return
        End If
        If TaiKhoanNganHangBUS.IsExists(MainForm.current_user.MaUser, cbMaNganHang.SelectedValue) > 1 Then
            MessageBox.Show("Tài khoản đã tồn tại. Mỗi người chỉ được có 1 tài khoản ở 1 ngân hàng")
            Return
        End If
        Dim index As Integer = dgNganHang.CurrentRow.Index
        If (index >= 0) Then
            dt.Rows(index).Item("SoTien") = txtSoTien.Text
            dt.Rows(index).Item("MaNganHang") = cbMaNganHang.SelectedValue
            dt.Rows(index).Item("Ten") = dt_nganhang.Rows(cbMaNganHang.SelectedIndex)("Ten").ToString()
            DB_Provider.Write(dt, "TaiKhoanNganHang")
        End If
    End Sub

    Private Sub btnThemNganHang_Click(sender As System.Object, e As System.EventArgs) Handles btnThemNganHang.Click
        Dim f As New NganHangForm
        If f.ShowDialog() = Windows.Forms.DialogResult.OK Then
            dt_nganhang = NganHangDAO.GetAll()            
            cbMaNganHang.DataSource = dt_nganhang
            cbMaNganHang.DisplayMember = "Ten"
            cbMaNganHang.ValueMember = "MaNganHang"
        End If
    End Sub
End Class